vt-d: Fix ioapic write order in io_apic_write_remap_rte
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Aug 2010 15:32:45 +0000 (16:32 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Aug 2010 15:32:45 +0000 (16:32 +0100)
commit1cb3c0f2288ef1043eb7d1a318a226a1ebc3be1b
tree57827755cfed55b8d975ec7610cb8ac66544c4bd
parentac4579a705fa78c216b2a004b8ec710afc989f9f
vt-d: Fix ioapic write order in io_apic_write_remap_rte

At the end of io_apic_write_remap_rte, it writes new entry (remapped
interrupt) to ioapic. But it writes low 32 bits before high 32 bits,
it unmasks interrupt before writing high 32 bits if 'mask' bit in low
32 bits is cleared. Thus it may result in issues. This patch fixes
this issue by writing high 32 bits before low 32 bits.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Weidong Han <weidong.han@intel.com>
xen/drivers/passthrough/vtd/intremap.c